【PTA|Python】浙大版《Python 程序设计》题目集:第五章 您所在的位置:网站首页 pta python浙大版 【PTA|Python】浙大版《Python 程序设计》题目集:第五章

【PTA|Python】浙大版《Python 程序设计》题目集:第五章

2024-06-27 01:46| 来源: 网络整理| 查看: 265

前言

Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,有幸拿过国奖、省奖等,已保研。目前正在学习C++/Linux(真的真的太难了~) 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!

第五章 5-1 输出星期名缩写 (70 分) 题目

输入一个1到7的数字,输出对应的星期名的缩写。

1 Mon 2 Tue 3 Wed 4 Thu 5 Fri 6 Sat 7 Sun

输入格式:

输入1到7之间数字

输出格式:

输出对应的星期名的缩写

输入样例: 在这里给出一组输入。例如:

1

输出样例: 在这里给出相应的输出。例如:

Mon

解答 days = {1:'Mon',2:'Tue',3:'Wed',4:'Thu',5:'Fri',6:'Sat',7:'Sun'} index = int(input()) print(days[index])

image.png

5-2 图的字典表示 (20 分) 题目

image.png 图的字典表示。输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度。比如上图0点表示:{‘O’:{‘A’:2,‘B’:5,‘C’:4}}。 ​ 用eval函数处理输入,eval函数具体用法见第六章内置函数。 ​ 输入格式:

第一行表示输入的行数 下面每行输入表示一个顶点和该顶点相连的边及长度的字符串

输出格式:

在一行中输出顶点数,边数,边的总长度

输入样例: 在这里给出一组输入。例如:

4 {‘a’:{‘b’:10,‘c’:6}} {‘b’:{‘c’:2,‘d’:7}} {‘c’:{‘d’:10}} {‘d’:{}}

输出样例: 在这里给出相应的输出。例如:

4 5 35

解答 n=int(input()) sum=0 length=0 for i in range(n): dic=eval(input()) for j in dic: temp=dic[j] for k in temp: sum+=1 length+=temp[k] print("{} {} {}".format(n,sum,length))

image.png

5-3 四则运算(用字典实现) (30 分) 题目

四则运算(用字典实现),比较c语言的switch语句。 ​ 输入格式:

在一行中输入一个数字 在一行中输入一个四则运算符(+,-,*,/) 在一行中输入一个数字

输出格式:

在一行中输出运算结果(小数保留2位)

输入样例1: 在这里给出一组输入。例如:

7 / 3

输出样例1: 在这里给出相应的输出。例如:

2.33

输入样例2: 在这里给出一组输入。例如:

10 / 0

输出样例2: 在这里给出相应的输出。例如:

divided by zero

解答

参考:https://blog.csdn.net/chen_zan_yu_/article/details/103406089

res = {'+': 'x+y', '-': 'x-y', '*': 'x*y', '/': "x/y if y!=0 else 'divided by zero'"} # 除法部分分三元式表示 x = int(input()) operation = input() y = int(input()) # print(res[operation]) 除零返回字符串,其余返回数字类型 r = eval(res[operation]) if type(r) != str: print(format(r, '.2f')) else: print(r)

image.png

5-4 分析活动投票情况 (20 分) 题目

利用集合分析活动投票情况。第一小队有五名队员,序号是1,2,3,4,5;第二小队也有五名队员,序号6,7,8,9,10。输入一个得票字符串,求第二小队没有得票的队员 ​ 输入格式:

在一行中输入得票的队员的序列号,用逗号隔开。

输出格式:

一行中输出第二小队没有得票的队员序号。

输入样例: 在这里给出一组输入。例如:

1,5,9,3,9,1,1,7,5,7,7,3,3,1,5,7,4,4,5,4,9,5,10,9

输出样例: 在这里给出相应的输出。例如:

6 8

解答

提交代码 - 1

tickets=list(set(map(int,input().split(',')))) a=[] for i in range(6,11): if i not in tickets: a.append(i) print(' '.join('%s' %id for id in a))

image.png 提交代码 - 2

tickets=list(set(map(str,input().split(',')))) a=[] for i in range(6,11): if str(i) not in tickets: a.append(str(i)) ans=' '.join(a) print(ans)

image.png

5-5 统计字符出现次数 (20 分) 题目

本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。 ​ 输入格式:

输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。

输出格式:

在一行中输出给定字符在给定字符串中出现的次数。

输入样例:

programming is More fun! m

输出样例:

2

解答 str1=input() a=input() count=0 for i in str1: if i==a: count+=1 print(count)

image.png

5-6 统计工龄 (20 分) 题目

给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 ​ 输入格式:

输入首先给出正整数N(≤105),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。

输出格式:

按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。

输入样例:

8 10 2 0 5 7 2 5 2

输出样例:

0:1 2:3 5:2 7:1 10:1

解答 n=int(input()) ages=list(map(int,input().split())) dic={} for i in ages: dic[i]=dic.get(i,0)+1 for i in sorted(dic): print("{}:{}".format(i,dic[i]))

image.png

5-7 列表去重 (40 分) 题目

输入一个列表,去掉列表中重复的数字,按原来次序输出! ​ 输入格式:

在一行中输入列表

​输出格式:

在一行中输出不重复列表元素

输入样例: 在这里给出一组输入。例如:

[4,7,5,6,8,6,9,5]

​输出样例: 在这里给出相应的输出。例如:

4 7 5 6 8 9

解答 lst1=eval(input()) lst2=list(set(lst1)) print(' '.join(map(str,sorted(lst2,key=lst1.index))))

image.png

5-8 能被3,5和7整除的数的个数(用集合实现) (30 分) 题目

求指定区间内能被3,5和7整除的数的个数 ​ 输入格式:

在一行中从键盘输入2个正整数a,b(1



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有